package com.htgd.gardenexpo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.htgd.gardenexpo.dto.GeConCompetitionSportsDTO;
import com.htgd.gardenexpo.entity.CommonResult;
import com.htgd.gardenexpo.entity.GeConCompetitionSports;
import com.htgd.gardenexpo.page.CompetitionSportsQuery;
import com.htgd.gardenexpo.page.MarathonListQuery;
import com.htgd.gardenexpo.page.PageBase;
import com.htgd.gardenexpo.vo.CompetitionSportsNumsVO;
import com.htgd.gardenexpo.vo.GeConCompetitionSportsVO;
import com.htgd.gardenexpo.vo.MarathonDetailsVO;
import com.htgd.gardenexpo.vo.MarathonListVO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * <p>
 * 赛事运动 服务类
 * </p>
 *
 * @author author
 * @since 2024-09-21
 */
public interface GeConCompetitionSportsService extends IService<GeConCompetitionSports> {

    CommonResult insert(GeConCompetitionSportsDTO geConCompetitionSportsDTO);

    CommonResult delete(String id);

    PageInfo<GeConCompetitionSportsVO> pageList(CompetitionSportsQuery competitionSportsQuery);

    GeConCompetitionSportsVO getDetailsById(String id, HttpServletRequest request);

    CommonResult edit(GeConCompetitionSportsDTO geConCompetitionSportsDTO);

    CommonResult review(GeConCompetitionSports geConCompetitionSports);

    CommonResult<List<CompetitionSportsNumsVO>> getEntryNums(Integer pageNum, Integer pageSize, String startTime, String endTime, String startDate, String endDate, String type, String orderBy);

    PageInfo<MarathonListVO> marathonList(MarathonListQuery marathonListQuery);

    MarathonDetailsVO marathonDetails(String id);

//    List<GeConCompetitionSports> getEndList();
}
